/*
 * Загрузчик комментариев.
 * Чтобы отладить древовидность в комментарих можно вызывать с переменной debug=1 вот так:
 *
 * http://localhost:8888/platonikahg/hello/tree_comments/ajax?cpaint_function=ajax_getChildsOfComment& ... &debug_ajax=1
 *
 * @author Alexander Sibiryakov
 */
function CommentsLoader(l_ctl, ccontainer) {
	var items_offset; // смещение в формате порядкового номера комментария для подгрузчика 2-го типа см. класс AggregatedModel_TreeComments
	var parent_oid; // идшник итема, если коммент первого уровня или идшник комментария детей которого надо подгрузить

	this.l_ctl = l_ctl; // ссылка на CommentsLoaderСontrol
	this._view = l_ctl._view; // общая вьюха
	this.ccontainer = ccontainer;

	this.setParentOid = function(i) {
		parent_oid = i;
	}

	this.getParentOid = function() {
		return parent_oid;
	}

	this.setItemsOffset = function(i) {
		items_offset = i;
	}

	// подгрузить комментарии
	this.load = function() {

		cp.set_env_object(this);
		if (items_offset) {
			cp.call(get__Url('/ajax'), 'ajax_getChildsOfComment', cb_load, parent_oid, this.ccontainer.item_oid, items_offset );
		} else {
			cp.call(get__Url('/ajax'), 'ajax_getChildsOfComment', cb_load, parent_oid, this.ccontainer.item_oid );
		}

	}

	var cb_load = function(result) {
		this.ccontainer.insertHtmlComments(
			result.ajaxResponse['0'].comments['0'].data,
			this.l_ctl.getSelf(),
			0 // - увеличиваем кол-во только при добавлении новых
		);

		this.l_ctl.loader_cb(result);
	}

	// конструктор CommentsLoader
	if (this._view.getType()==2) {
		// наткнулись на подгрузчик 2-го типа
		// нужно поставить родителем родительский коммент или саму запись, и поставить смещение

		this.setParentOid( this._view.getParentOid() );
		this.setItemsOffset( this._view.getItemsOffset() );
	} else {
		this.setParentOid( this._view.getPreviousCommentOid() ); // идшник предшествующего коммента
	}

}
